package src.daily;

/**
 * @author FengBaiyu
 */
public class H1375
{

    /**
     * 给你一个长度为 n 、下标从 1 开始的二进制字符串，所有位最开始都是 0 。我们会按步翻转该二进制字符串的所有位（即，将 0 变为 1）。
     *
     * 给你一个下标从 1 开始的整数数组 flips ，其中 flips[i] 表示对应下标 i 的位将会在第 i 步翻转。
     *
     * 二进制字符串 前缀一致 需满足：在第 i 步之后，在闭区间 [1, i] 内的所有位都是 1 ，而其他位都是 0 。
     *
     * 返回二进制字符串在翻转过程中 前缀一致 的次数。
     * @param flips
     * @param args
     */
    public int numTimesAllBlue(int[] flips) {
        int max = flips[0];
        int total = 0;
        while(max<=flips.length){
             int tmp = max;
            for (int i = 0; i < max; i++)
            {
              tmp = Math.max(tmp,flips[i]);
            }
            if (tmp == max)
            {
                total++;
                max++;
            }else {
                max = tmp;
            }

        }

        return total;
    }



    public static void main(String[] args)
    {
        H1375 h1375 = new H1375();
        int[] flips = {3,2,4,1,5};
        System.out.println(h1375.numTimesAllBlue(flips));
    }
}
